home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue50 / Localise / RangeDb.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-06-17  |  1.8 KB  |  85 lines

  1. unit RangeDb;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Buttons, DBCtrls, ExtCtrls;
  8.  
  9. type
  10.   TFormRange = class(TForm)
  11.     CheckBoxRange: TCheckBox;
  12.     Edit1: TEdit;
  13.     Edit2: TEdit;
  14.     Label1: TLabel;
  15.     Label2: TLabel;
  16.     BitBtn1: TBitBtn;
  17.     BitBtn2: TBitBtn;
  18.     Bevel1: TBevel;
  19.     Bevel2: TBevel;
  20.     ListBoxStates: TListBox;
  21.     ListBoxCountries: TListBox;
  22.     Label3: TLabel;
  23.     Label4: TLabel;
  24.     CheckBoxFiltering: TCheckBox;
  25.     procedure FormCreate(Sender: TObject);
  26.     procedure BitBtn1Click(Sender: TObject);
  27.     procedure BitBtn2Click(Sender: TObject);
  28.   private
  29.     { Private declarations }
  30.   public
  31.     { Public declarations }
  32.   end;
  33.  
  34. var
  35.   FormRange: TFormRange;
  36.  
  37. implementation
  38.  
  39. uses DataM;
  40.  
  41. {$R *.DFM}
  42.  
  43. procedure TFormRange.FormCreate(Sender: TObject);
  44. begin
  45.   with DataModule2 do
  46.   begin
  47.     Table1.First;
  48.     while not Table1.EOF do
  49.     begin
  50.       // add unique values
  51.       if not Table1Country.IsNull and
  52.         (ListBoxCountries.Items.IndexOf (
  53.           Table1Country.AsString) < 0) then
  54.         ListBoxCountries.Items.Add (Table1Country.AsString);
  55.       if not Table1State.IsNull and
  56.         (ListBoxStates.Items.IndexOf (
  57.           Table1State.AsString) < 0) then
  58.         ListBoxStates.Items.Add (Table1State.AsString);
  59.       Table1.Next;
  60.     end;
  61.     // reset the table
  62.     Table1.First;
  63.   end;
  64. end;
  65.  
  66. procedure TFormRange.BitBtn1Click(Sender: TObject);
  67. begin
  68.   with DataModule2.Table1 do
  69.   begin
  70.     if CheckBoxRange.Checked then
  71.       SetRange ([Edit1.Text], [Edit2.Text])
  72.     else
  73.       CancelRange;
  74.     Filtered := CheckBoxFiltering.Checked;
  75.     Refresh;
  76.   end;
  77. end;
  78.  
  79. procedure TFormRange.BitBtn2Click(Sender: TObject);
  80. begin
  81.   Close;
  82. end;
  83.  
  84. end.
  85.